/*
 * @(#)Tile.java	1.0 010/06/25
 *
 * Copyright 2010 guyven and David Croft. All rights reserved.
 */
package com.iawg.attrition.game.map;

/**
 * The <code>Tile</code> class is used to represent a single tile on the map board.
 * The tile is square in length and has an area of 4 square Positions. A tile has an area
 * denoted by Width and Height. The tile also has an elevation that you can set to create
 * valleys, mountains, and slopes.
 * 
 * @author guyven
 * @author William David Croft Jr.
 * @see Position
 * @version 1.0 010/06/25
 */
public class Tile {
	/** The value is used to hold the height of the tile in Positions */
	private final int TILE_HEIGHT = 2;
	/** The value is used to hold the width of the tile in Positions */
	private final int TILE_WIDTH = 2;
	/** the value is used to hold this tile's elevation in feet*/
	private int elevation = 0;

	/** Constructor */
	public Tile(){}
	
	/**
	 * Constructs a Tile with a given elevation
	 * 
	 * @param elevation The elevation of the new Tile.
	 */
	public Tile(int elevation){
		setElevation(elevation);
	}

	/**
	 * <strong>Note:</strong> This is <strong>not</strong> the elevation of the tile.
	 * If you want the elevation of the tile, use <code>getElevation()</code>.
	 * 
	 * @return The height of the tile in meters
	 */
	public int getTileHeight(){
		return TILE_HEIGHT;
	}

	/** @return The width of the tile in Positions */
	public int getTileWidth(){
		return TILE_WIDTH;
	}
	
	/** @return The elevation of the tile in Positions */
	public int getElevation(){
		return elevation;
	}
	
	public void setElevation(int elevation){
		this.elevation = elevation;
	}
}